﻿using System.Collections.Generic;
using HMIS.FrameWork;
using HMIS.FrameWork.DomainBase;
using HMIS.Infrastructure.Core.Authority;


namespace HMIS.Infrastructure.Facade.Authority
{
    public interface IHospUserFacade : IDomainFacade
    {
        IList<HospUser> GetPlist(int start, int limit, string sort, string dir, List<DataFilter> filters, out long total);
		IList<HospUser> GetPlistAll(int start, int limit, string sort, string dir, List<DataFilter> filters, out long total);
        bool IsFieldExist(string fieldName, string fieldValue, string id);
        void SaveOrUpdate(HospUser entity);
        HospUser Load(string id);
        HospUser Get(string id);
        HospUser GetById(string id);
		HospUser GetByIdWithMenu(string id);
        void Delete(string id);
        IList<HospUser> GetListByRoleCode(string roleCode, string sort, string dir);
		IList<HospUser> QueryPList(string query, int start, int limit, string sort, string dir, List<DataFilter> filters, out long total);

		IList<object[]> GetUserListByDep(string query, string depCode, int start, int limit, string sort, string dir, List<DataFilter> filters, out long total);
		IList<HospUser> GetUserListByRoleAndDep(string query, string roleCode, string depCode, int start, int limit, string sort, string dir, List<DataFilter> filters, out long total);
    }
}
